package com.zhonghui.modlules.shop.eshopDomain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.eshop.domain.BaseDomain;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

@ApiModel(
        value = "YxSystemAttachment对象",
        description = "附件管理表"
)
public class SystemAttachment extends BaseDomain {
    private static final long serialVersionUID = 1L;
    @TableId(
            value = "att_id",
            type = IdType.AUTO
    )
    private Long attId;
    @ApiModelProperty("附件名称")
    private String name;
    @ApiModelProperty("附件路径")
    private String attDir;
    @ApiModelProperty("压缩图片路径")
    private String sattDir;
    @ApiModelProperty("附件大小")
    private String attSize;
    @ApiModelProperty("附件类型")
    private String attType;
    @ApiModelProperty("分类ID0编辑器,1产品图片,2拼团图片,3砍价图片,4秒杀图片,5文章图片,6组合数据图")
    private Integer pid;
    @ApiModelProperty("图片上传类型 1本地 2七牛云 3OSS 4COS ")
    private Integer imageType;
    @ApiModelProperty("图片上传模块类型 1 后台上传 2 用户生成")
    private Integer moduleType;
    private Long uid;
    private String inviteCode;

    public static SystemAttachment.SystemAttachmentBuilder builder() {
        return new SystemAttachment.SystemAttachmentBuilder();
    }

    public Long getAttId() {
        return this.attId;
    }

    public String getName() {
        return this.name;
    }

    public String getAttDir() {
        return this.attDir;
    }

    public String getSattDir() {
        return this.sattDir;
    }

    public String getAttSize() {
        return this.attSize;
    }

    public String getAttType() {
        return this.attType;
    }

    public Integer getPid() {
        return this.pid;
    }

    public Integer getImageType() {
        return this.imageType;
    }

    public Integer getModuleType() {
        return this.moduleType;
    }

    public Long getUid() {
        return this.uid;
    }

    public String getInviteCode() {
        return this.inviteCode;
    }

    public void setAttId(final Long attId) {
        this.attId = attId;
    }

    public void setName(final String name) {
        this.name = name;
    }

    public void setAttDir(final String attDir) {
        this.attDir = attDir;
    }

    public void setSattDir(final String sattDir) {
        this.sattDir = sattDir;
    }

    public void setAttSize(final String attSize) {
        this.attSize = attSize;
    }

    public void setAttType(final String attType) {
        this.attType = attType;
    }

    public void setPid(final Integer pid) {
        this.pid = pid;
    }

    public void setImageType(final Integer imageType) {
        this.imageType = imageType;
    }

    public void setModuleType(final Integer moduleType) {
        this.moduleType = moduleType;
    }

    public void setUid(final Long uid) {
        this.uid = uid;
    }

    public void setInviteCode(final String inviteCode) {
        this.inviteCode = inviteCode;
    }

    public SystemAttachment(final Long attId, final String name, final String attDir, final String sattDir, final String attSize, final String attType, final Integer pid, final Integer imageType, final Integer moduleType, final Long uid, final String inviteCode) {
        this.attId = attId;
        this.name = name;
        this.attDir = attDir;
        this.sattDir = sattDir;
        this.attSize = attSize;
        this.attType = attType;
        this.pid = pid;
        this.imageType = imageType;
        this.moduleType = moduleType;
        this.uid = uid;
        this.inviteCode = inviteCode;
    }

    public SystemAttachment() {
    }

    public static class SystemAttachmentBuilder {
        private Long attId;
        private String name;
        private String attDir;
        private String sattDir;
        private String attSize;
        private String attType;
        private Integer pid;
        private Integer imageType;
        private Integer moduleType;
        private Long uid;
        private String inviteCode;

        SystemAttachmentBuilder() {
        }

        public SystemAttachment.SystemAttachmentBuilder attId(final Long attId) {
            this.attId = attId;
            return this;
        }

        public SystemAttachment.SystemAttachmentBuilder name(final String name) {
            this.name = name;
            return this;
        }

        public SystemAttachment.SystemAttachmentBuilder attDir(final String attDir) {
            this.attDir = attDir;
            return this;
        }

        public SystemAttachment.SystemAttachmentBuilder sattDir(final String sattDir) {
            this.sattDir = sattDir;
            return this;
        }

        public SystemAttachment.SystemAttachmentBuilder attSize(final String attSize) {
            this.attSize = attSize;
            return this;
        }

        public SystemAttachment.SystemAttachmentBuilder attType(final String attType) {
            this.attType = attType;
            return this;
        }

        public SystemAttachment.SystemAttachmentBuilder pid(final Integer pid) {
            this.pid = pid;
            return this;
        }

        public SystemAttachment.SystemAttachmentBuilder imageType(final Integer imageType) {
            this.imageType = imageType;
            return this;
        }

        public SystemAttachment.SystemAttachmentBuilder moduleType(final Integer moduleType) {
            this.moduleType = moduleType;
            return this;
        }

        public SystemAttachment.SystemAttachmentBuilder uid(final Long uid) {
            this.uid = uid;
            return this;
        }

        public SystemAttachment.SystemAttachmentBuilder inviteCode(final String inviteCode) {
            this.inviteCode = inviteCode;
            return this;
        }

        public SystemAttachment build() {
            return new SystemAttachment(this.attId, this.name, this.attDir, this.sattDir, this.attSize, this.attType, this.pid, this.imageType, this.moduleType, this.uid, this.inviteCode);
        }

        public String toString() {
            return "SystemAttachment.SystemAttachmentBuilder(attId=" + this.attId + ", name=" + this.name + ", attDir=" + this.attDir + ", sattDir=" + this.sattDir + ", attSize=" + this.attSize + ", attType=" + this.attType + ", pid=" + this.pid + ", imageType=" + this.imageType + ", moduleType=" + this.moduleType + ", uid=" + this.uid + ", inviteCode=" + this.inviteCode + ")";
        }
    }
}
